FIG. 1 shows a generic architecture for a computing system 100. The computing system of FIG. 1 includes a Central Processing Unit 102 which includes a processing core 102a (e.g., a microprocessor or group of microprocessors) that executes instructions in order to realize software routines; and, a memory 102b where the instructions (and related data) are stored. The computing system also makes use of other peripheral devices such as, for example, non volatile data storage devices (e.g., magnetic disk drive, CD ROM drive, tape drive, etc.), a networking interface, a keyboard, etc. According to the computing system architecture presented in FIG. 1, the peripheral devices can send/receive data from the CPU 102 by use of a system bus 103 (e.g., a Peripheral Components Interface (PCI) bus).
Here, a system bus 103 is used to propagate data between the CPU 102 and a number of different computing system peripheral devices. Typically, the different peripheral components “hang” off of the system bus 103 (or have a communication path that flows through a component that hangs off of the system bus 103). For example, a first device (e.g., a networking interface) may communicate to the CPU through system bus interface 106, a second device (e.g., a keyboard) may communicate to the CPU through system bus interface 105; a third device (e.g., non volatile storage device 109) may communicate to the CPU through system bus interface 104.
Note that the computing system architecture 100 of FIG. 1 may take on various forms. For example, according to a first embodiment, the entire computing system 100 is viewed as being within a single “box” or packaging structure (except for rudimentary components such as a keyboard and computer screen). In alternate embodiments, however, only a portion 101 of the entire computing system 100 is largely within a single “box” leaving sophisticated components (such as storage device 109) outside the single package environment 101. For example, in server applications, storage device 109 is often implemented as a “high performance” storage device such as a redundant array of inexpensive disk drives (often referred to as a “RAID box”). “Archival” storage devices capable of storing massive amounts of information (e.g., tape drives) are frequently employed as well.
Note that some form of “translation” between the communication protocol used by the system bus 103 (e.g., the communication protocol defined by the PCI standard); and, the communication protocol used by the storage device 109 (as used over communicative interface 108) often exists. For example, recent non volatile storage devices have been designed to use a communication protocol referred to as “IDE” or “Parallel ATA” for those applications where the storage device bridge 107 was within the primary package of the computing system. Often, higher performance storage interface technologies (such as “Fibrechannel” or “SCSI”) are used to communicate with separate but attached storage devices over interface 108. Regardless, the storage device interface bridge 107 is often viewed as a unit that translates between the communication protocol used by the system bus 103 (e.g., a “PCI” bus in a Personal Computer (PC)) and the communication protocol used by the storage device over interface 108 (e.g., “Parallel ATA” or “Fibrechannel”).
Parallel ATA has enjoyed widespread implementation. However, as the roots of Parallel ATA are presently over 15 years old, the Parallel ATA protocol is being pushed by continuing advances in computing speed to the point where a new, more efficient replacement protocol is being sought. One such replacement protocol is being referred to as “Serial ATA”. Serial ATA is considered to be a more suitable storage device protocol for future computing system architectures because it is being designed so as to maintain lower pin counts and voltages; and, can entertain higher speeds simply by increasing clock speed. As Serial ATA represents a new storage device protocol capable of higher performance, the Serial ATA approach may also be able to displace a portion of the multiuser storage attachment technologies currently addressed by Fibrechannel or SCSI. At the time of filing, a publicly available version of the Serial ATA standard could be found in “Serial ATA: High Speed Serialized AT Attachment”, Rev. 1.0, published by the Serial ATA Workgroup and dated Aug. 29, 2001.